草庐IT

c++ - mfc中将CString转为float

全部标签

ruby - 截断 float 而不向上舍入

我有一个float,我想截断到3个位置,但我不想四舍五入。例如,将1.0155555555555555转换为1.015(而不是1.016)。我将如何在Ruby中执行此操作? 最佳答案 您还可以转换为BigDecimal,然后对其调用truncate。1.237.to_d.truncate(2).to_f#willreturn1.23 关于ruby-截断float而不向上舍入,我们在StackOverflow上找到一个类似的问题: https://stackov

ruby - 在 Ruby 中将空字符串转换为 nil

我有一个名为word的字符串和一个名为infinitive的函数,这样word.infinitive在某些情况下会返回另一个字符串,否则会返回一个空字符串我正在尝试为下面的代码片段找到一个优雅的ruby​​单行表达式ifword.infinitive==""returnwordelsereturnword.infinitive如果不定式返回nil而不是"",我可以做类似的事情(word.infinitiveorword)但既然没有,我就不能利用短路OR理想情况下我想要1)我可以轻松嵌入其他代码的单个表达式2)函数不定式只被调用一次3)不要在我的代码中添加任何自定义gem或插件

ruby - 将 ruby float 向上或向下舍入到最接近的 0.05

我得到像这样的数字2.363636363636364.5675631.23456646544846510.5857447736我如何让Ruby将这些数字向上(或向下)舍入到最接近的0.05? 最佳答案 [2.36363636363636,4.567563,1.23456646544846,10.5857447736].mapdo|x|(x*20).round/20.0end#=>[2.35,4.55,1.25,10.6] 关于ruby-将rubyfloat向上或向下舍入到最接近的0.05

ruby - 在 Ruby 中将数组的数组组合成所有可能的组合,仅向前

我有一个数组数组,像这样:[['1','2'],['a','b'],['x','y']]我需要将这些数组组合成一个字符串,其中包含所有三个集合的所有可能组合,仅向前。我已经看到很多以任何顺序排列的集合的所有可能组合的示例,这不是我想要的。例如,我不希望第一组中的任何元素出现在第二组之后,或者第三组中的任何元素出现在第一组或第二组之前,依此类推。因此,对于上面的示例,输出将是:['1ax','1ay','1bx','1by','2ax','2ay','2bx','2by']数组的数量和每组的长度是动态的。有人知道如何在Ruby中解决这个问题吗? 最佳答案

如果整数,则 Ruby 将 float 舍入为 int

在ruby​​中,如果float是整数,我想将其转换为int。例如a=1.0b=2.5a.to_int_if_whole#=>1b.to_int_if_whole#=>2.5基本上,我试图避免在任何没有小数的数字上显示“.0”。我正在寻找一种优雅的(或内置的)方式来做defto_int_if_whole(float)(float%1==0)?float.to_i:floatend 最佳答案 一个简单的方法是:classFloatdefprettifyto_i==self?to_i:selfendend那是因为:irb>1.0==1=

ruby - 检查 Float 是否等同于 Ruby 中的整数值

假设我有以下代码:x=0.8y=1.0检查y是否等同于Integer的最佳方法是什么?目前我在做:y.to_int==y这行得通,但我觉得应该有更好的方法。 最佳答案 您用1mod值,并检查该值是否等于0。ify%1==0 关于ruby-检查Float是否等同于Ruby中的整数值,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/5083202/

ruby - 在 Ruby 中将嵌套哈希键从 CamelCase 转换为 snake_case

我正在尝试构建API包装器gem,但在将哈希键从API返回的JSON转换为更像Rubyish的格式时遇到了问题。JSON包含多层嵌套,包括哈希和数组。我想做的是递归地将所有键转换为snake_case以便于使用。这是我到目前为止所得到的:defconvert_hash_keys(value)returnvalueif(notvalue.is_a?(Array)andnotvalue.is_a?(Hash))result=value.inject({})do|new,(key,value)|new[to_snake_case(key.to_s).to_sym]=convert_hash_

ruby-on-rails - Rails 在 View 中将字符串与变量连接的最佳方法

本质上,我正在尝试执行此比较request.fullpath=="/contacts/"+current_user.id将字符串与变量连接起来以执行这样的比较的最佳方法是什么? 最佳答案 您可以将其插入为request.fullpath=="/contacts/#{current_user.id}" 关于ruby-on-rails-Rails在View中将字符串与变量连接的最佳方法,我们在StackOverflow上找到一个类似的问题: https://sta

ruby - 需要在 Ruby 中将数组拆分为指定大小的子数组

这个问题在这里已经有了答案:HowtochunkanarrayinRuby(2个答案)关闭4年前。我有一个类似这样的数组:arr=[4,5,6,7,8,4,45,11]我想要一个奇特的方法,比如sub_arrays=split(arr,3)这应该返回以下内容:[[4,5,6],[7,8,4],[45,11]]注意:这个问题不是“如何分块数组”的重复问题。chunk题是问批量处理,这道题是拆分数组。

ruby - 为什么在 Ruby 中将 0 视为 True?

我正在阅读优秀的RubyonRailsTutorial并且遇到了如下代码。if0trueelsefalseend上面的代码返回true并说明了与许多语言(C是一个明显的例子)不同的是,ruby将0视为true。我并没有将这种行为视为异类,而是认为这种明显偏离惯例的行为是有充分理由的。例如,Python将0视为False,正如人们所期望的那样。简而言之,将ruby​​设计为将0视为true的基本原理是什么? 最佳答案 我猜Matz想要“真实性”这样的概念简单性——唯一的“假”值是false和nil。期间。只使用false是最干净的,但